// include/characters/enemies/StatueEnemy.hh
#ifndef CHARACTERS_ENEMIES_STATUE_ENEMY_HH
#define CHARACTERS_ENEMIES_STATUE_ENEMY_HH

#include "characters/enemies/Enemy.hh"
#include <string>

/**
 * @class StatueEnemy
 * @brief Represents a statue enemy that might be immobile or resistant to attacks.
 *
 * Can be used to create enemies that behave like stationary or passive objects
 * until triggered, or that are tough to damage due to their material.
 */

class StatueEnemy : public Enemy
{
private:
    static const unsigned FLASHLIGHT_KILL_THRESHOLD = 200;

public:
    StatueEnemy();

    unsigned int get_FLASHLIGHT_KILL_THRESHOLD() const{
        return this->FLASHLIGHT_KILL_THRESHOLD;
    }

    virtual ~StatueEnemy() override = default;

    virtual bool attack(ICharacter &target) override; 

    virtual bool takeDamage(unsigned damage) override;

    bool canBeFinishedByFlashlight() const;
};

#endif 
